{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Implementing TF-IDF\n",
    "------------------------------------\n",
    "\n",
    "Here we implement TF-IDF, (Text Frequency - Inverse Document Frequency) for the spam-ham text data.\n",
    "\n",
    "We will use a hybrid approach of encoding the texts with sci-kit learn's TFIDF vectorizer.  Then we will use the regular TensorFlow logistic algorithm outline.\n",
    "\n",
    "Creating the TF-IDF vectors requires us to load all the text into memory and count the occurrences of each word before we can start training our model.  Because of this, it is not implemented fully in Tensorflow, so we will use Scikit-learn for creating our TF-IDF embedding, but use Tensorflow to fit the logistic model.\n",
    "\n",
    "We start by loading the necessary libraries."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import tensorflow as tf\n",
    "import matplotlib.pyplot as plt\n",
    "import csv\n",
    "import numpy as np\n",
    "import os\n",
    "import string\n",
    "import requests\n",
    "import io\n",
    "import nltk\n",
    "from zipfile import ZipFile\n",
    "from sklearn.feature_extraction.text import TfidfVectorizer\n",
    "from tensorflow.python.framework import ops\n",
    "ops.reset_default_graph()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Start a computational graph session."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "sess = tf.Session()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We set two parameters, `batch_size` and `max_features`.  `batch_size` is the size of the batch we will train our logistic model on, and `max_features` is the maximum number of tf-idf textual words we will use in our logistic regression."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "batch_size = 200\n",
    "max_features = 1000"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Check if data was downloaded, otherwise download it and save for future use"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "save_file_name = 'temp_spam_data.csv'\n",
    "if os.path.isfile(save_file_name):\n",
    "    text_data = []\n",
    "    with open(save_file_name, 'r') as temp_output_file:\n",
    "        reader = csv.reader(temp_output_file)\n",
    "        for row in reader:\n",
    "            text_data.append(row)\n",
    "else:\n",
    "    zip_url = 'http://archive.ics.uci.edu/ml/machine-learning-databases/00228/smsspamcollection.zip'\n",
    "    r = requests.get(zip_url)\n",
    "    z = ZipFile(io.BytesIO(r.content))\n",
    "    file = z.read('SMSSpamCollection')\n",
    "    # Format Data\n",
    "    text_data = file.decode()\n",
    "    text_data = text_data.encode('ascii',errors='ignore')\n",
    "    text_data = text_data.decode().split('\\n')\n",
    "    text_data = [x.split('\\t') for x in text_data if len(x)>=1]\n",
    "    \n",
    "    # And write to csv\n",
    "    with open(save_file_name, 'w') as temp_output_file:\n",
    "        writer = csv.writer(temp_output_file)\n",
    "        writer.writerows(text_data)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We now clean our texts. This will decrease our vocabulary size by converting everything to lower case, removing punctuation and getting rid of numbers."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "texts = [x[1] for x in text_data]\n",
    "target = [x[0] for x in text_data]\n",
    "\n",
    "# Relabel 'spam' as 1, 'ham' as 0\n",
    "target = [1. if x=='spam' else 0. for x in target]\n",
    "\n",
    "# Normalize text\n",
    "# Lower case\n",
    "texts = [x.lower() for x in texts]\n",
    "\n",
    "# Remove punctuation\n",
    "texts = [''.join(c for c in x if c not in string.punctuation) for x in texts]\n",
    "\n",
    "# Remove numbers\n",
    "texts = [''.join(c for c in x if c not in '0123456789') for x in texts]\n",
    "\n",
    "# Trim extra whitespace\n",
    "texts = [' '.join(x.split()) for x in texts]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Define tokenizer function and create the TF-IDF vectors with SciKit-Learn."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def tokenizer(text):\n",
    "    words = nltk.word_tokenize(text)\n",
    "    return words\n",
    "\n",
    "# Create TF-IDF of texts\n",
    "tfidf = TfidfVectorizer(tokenizer=tokenizer, stop_words='english', max_features=max_features)\n",
    "sparse_tfidf_texts = tfidf.fit_transform(texts)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Split up data set into train/test."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "train_indices = np.random.choice(sparse_tfidf_texts.shape[0], round(0.8*sparse_tfidf_texts.shape[0]), replace=False)\n",
    "test_indices = np.array(list(set(range(sparse_tfidf_texts.shape[0])) - set(train_indices)))\n",
    "texts_train = sparse_tfidf_texts[train_indices]\n",
    "texts_test = sparse_tfidf_texts[test_indices]\n",
    "target_train = np.array([x for ix, x in enumerate(target) if ix in train_indices])\n",
    "target_test = np.array([x for ix, x in enumerate(target) if ix in test_indices])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we create the variables and placeholders necessary for logistic regression.  After which, we declare our logistic regression operation.  Remember that the sigmoid part of the logistic regression will be in the loss function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Create variables for logistic regression\n",
    "A = tf.Variable(tf.random_normal(shape=[max_features,1]))\n",
    "b = tf.Variable(tf.random_normal(shape=[1,1]))\n",
    "\n",
    "# Initialize placeholders\n",
    "x_data = tf.placeholder(shape=[None, max_features], dtype=tf.float32)\n",
    "y_target = tf.placeholder(shape=[None, 1], dtype=tf.float32)\n",
    "\n",
    "# Declare logistic model (sigmoid in loss function)\n",
    "model_output = tf.add(tf.matmul(x_data, A), b)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Next, we declare the loss function (which has the sigmoid in it), and the prediction function.  The prediction function will have to have a sigmoid inside of it because it is not in the model output."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Declare loss function (Cross Entropy loss)\n",
    "loss = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(logits=model_output, labels=y_target))\n",
    "\n",
    "# Prediction\n",
    "prediction = tf.round(tf.sigmoid(model_output))\n",
    "predictions_correct = tf.cast(tf.equal(prediction, y_target), tf.float32)\n",
    "accuracy = tf.reduce_mean(predictions_correct)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we create the optimization function and initialize the model variables."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Declare optimizer\n",
    "my_opt = tf.train.GradientDescentOptimizer(0.0025)\n",
    "train_step = my_opt.minimize(loss)\n",
    "\n",
    "# Intitialize Variables\n",
    "init = tf.global_variables_initializer()\n",
    "sess.run(init)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Finally, we perform our logisitic regression on the 1000 TF-IDF features."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generation # 500. Train Loss (Test Loss): 0.44 (0.43). Train Acc (Test Acc): 0.86 (0.86)\n",
      "Generation # 1000. Train Loss (Test Loss): 0.40 (0.42). Train Acc (Test Acc): 0.88 (0.86)\n",
      "Generation # 1500. Train Loss (Test Loss): 0.43 (0.42). Train Acc (Test Acc): 0.86 (0.86)\n",
      "Generation # 2000. Train Loss (Test Loss): 0.49 (0.42). Train Acc (Test Acc): 0.84 (0.86)\n",
      "Generation # 2500. Train Loss (Test Loss): 0.42 (0.42). Train Acc (Test Acc): 0.86 (0.86)\n",
      "Generation # 3000. Train Loss (Test Loss): 0.42 (0.42). Train Acc (Test Acc): 0.88 (0.86)\n",
      "Generation # 3500. Train Loss (Test Loss): 0.42 (0.42). Train Acc (Test Acc): 0.88 (0.86)\n",
      "Generation # 4000. Train Loss (Test Loss): 0.61 (0.42). Train Acc (Test Acc): 0.76 (0.86)\n",
      "Generation # 4500. Train Loss (Test Loss): 0.44 (0.42). Train Acc (Test Acc): 0.86 (0.86)\n",
      "Generation # 5000. Train Loss (Test Loss): 0.53 (0.42). Train Acc (Test Acc): 0.82 (0.86)\n",
      "Generation # 5500. Train Loss (Test Loss): 0.45 (0.42). Train Acc (Test Acc): 0.87 (0.86)\n",
      "Generation # 6000. Train Loss (Test Loss): 0.54 (0.42). Train Acc (Test Acc): 0.84 (0.86)\n",
      "Generation # 6500. Train Loss (Test Loss): 0.38 (0.41). Train Acc (Test Acc): 0.87 (0.86)\n",
      "Generation # 7000. Train Loss (Test Loss): 0.46 (0.41). Train Acc (Test Acc): 0.85 (0.86)\n",
      "Generation # 7500. Train Loss (Test Loss): 0.56 (0.41). Train Acc (Test Acc): 0.80 (0.86)\n",
      "Generation # 8000. Train Loss (Test Loss): 0.48 (0.41). Train Acc (Test Acc): 0.84 (0.86)\n",
      "Generation # 8500. Train Loss (Test Loss): 0.50 (0.41). Train Acc (Test Acc): 0.83 (0.86)\n",
      "Generation # 9000. Train Loss (Test Loss): 0.51 (0.41). Train Acc (Test Acc): 0.83 (0.86)\n",
      "Generation # 9500. Train Loss (Test Loss): 0.35 (0.41). Train Acc (Test Acc): 0.92 (0.86)\n",
      "Generation # 10000. Train Loss (Test Loss): 0.48 (0.41). Train Acc (Test Acc): 0.84 (0.86)\n"
     ]
    }
   ],
   "source": [
    "train_loss = []\n",
    "test_loss = []\n",
    "train_acc = []\n",
    "test_acc = []\n",
    "i_data = []\n",
    "for i in range(10000):\n",
    "    rand_index = np.random.choice(texts_train.shape[0], size=batch_size)\n",
    "    rand_x = texts_train[rand_index].todense()\n",
    "    rand_y = np.transpose([target_train[rand_index]])\n",
    "    sess.run(train_step, feed_dict={x_data: rand_x, y_target: rand_y})\n",
    "    \n",
    "    # Only record loss and accuracy every 100 generations\n",
    "    if (i+1)%100==0:\n",
    "        i_data.append(i+1)\n",
    "        train_loss_temp = sess.run(loss, feed_dict={x_data: rand_x, y_target: rand_y})\n",
    "        train_loss.append(train_loss_temp)\n",
    "        \n",
    "        test_loss_temp = sess.run(loss, feed_dict={x_data: texts_test.todense(), y_target: np.transpose([target_test])})\n",
    "        test_loss.append(test_loss_temp)\n",
    "        \n",
    "        train_acc_temp = sess.run(accuracy, feed_dict={x_data: rand_x, y_target: rand_y})\n",
    "        train_acc.append(train_acc_temp)\n",
    "    \n",
    "        test_acc_temp = sess.run(accuracy, feed_dict={x_data: texts_test.todense(), y_target: np.transpose([target_test])})\n",
    "        test_acc.append(test_acc_temp)\n",
    "    if (i+1)%500==0:\n",
    "        acc_and_loss = [i+1, train_loss_temp, test_loss_temp, train_acc_temp, test_acc_temp]\n",
    "        acc_and_loss = [np.round(x,2) for x in acc_and_loss]\n",
    "        print('Generation # {}. Train Loss (Test Loss): {:.2f} ({:.2f}). Train Acc (Test Acc): {:.2f} ({:.2f})'.format(*acc_and_loss))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here is matplotlib code to plot the loss and accuracies."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n/wGRLcy2bdxDWAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fe51e1a6550>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nKa/6XwIgChmigQsKAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fe51e1b3d68>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot loss over time\n",
    "plt.plot(i_data, train_loss, 'k-', label='Train Loss')\n",
    "plt.plot(i_data, test_loss, 'r--', label='Test Loss', linewidth=4)\n",
    "plt.title('Cross Entropy Loss per Generation')\n",
    "plt.xlabel('Generation')\n",
    "plt.ylabel('Cross Entropy Loss')\n",
    "plt.legend(loc='upper right')\n",
    "plt.show()\n",
    "\n",
    "# Plot train and test accuracy\n",
    "plt.plot(i_data, train_acc, 'k-', label='Train Set Accuracy')\n",
    "plt.plot(i_data, test_acc, 'r--', label='Test Set Accuracy', linewidth=4)\n",
    "plt.title('Train and Test Accuracy')\n",
    "plt.xlabel('Generation')\n",
    "plt.ylabel('Accuracy')\n",
    "plt.legend(loc='lower right')\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
